package com.ms3ds.mineInfo.service.impl;

import java.util.List;

import com.ms3ds.common.core.utils.DateUtils;
import com.ms3ds.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ms3ds.mineInfo.mapper.AreaMapper;
import com.ms3ds.mineInfo.api.domain.Area;
import com.ms3ds.mineInfo.service.IAreaService;

/**
 * 工作区域Service业务层处理
 * 
 * @author zlw
 * @date 2025-09-17
 */
@Service
public class AreaServiceImpl implements IAreaService 
{
    @Autowired
    private AreaMapper areaMapper;

    /**
     * 查询工作区域
     * 
     * @param id 工作区域主键
     * @return 工作区域
     */
    @Override
    public Area selectAreaById(Long id)
    {
        return areaMapper.selectAreaById(id);
    }

    /**
     * 查询工作区域列表
     * 
     * @param area 工作区域
     * @return 工作区域
     */
    @Override
    public List<Area> selectAreaList(Area area)
    {
        return areaMapper.selectAreaList(area);
    }


    /**
     * 新增工作区域
     * 
     * @param area 工作区域
     * @return 结果
     */
    @Override
    public int insertArea(Area area)
    {
        Long userId = SecurityUtils.getUserId();
        area.setCreateBy(String.valueOf(userId));
        area.setCreateTime(DateUtils.getNowDate());
        return areaMapper.insertArea(area);
    }

    /**
     * 修改工作区域
     * 
     * @param area 工作区域
     * @return 结果
     */
    @Override
    public int updateArea(Area area)
    {
        Long UserId = SecurityUtils.getUserId();
        area.setUpdateBy(String.valueOf(UserId));
        area.setUpdateTime(DateUtils.getNowDate());
        return areaMapper.updateArea(area);
    }

    /**
     * 批量删除工作区域
     * 
     * @param ids 需要删除的工作区域主键
     * @return 结果
     */
    @Override
    public int deleteAreaByIds(Long[] ids)
    {
        return areaMapper.deleteAreaByIds(ids);
    }

    /**
     * 删除工作区域信息
     * 
     * @param id 工作区域主键
     * @return 结果
     */
    @Override
    public int deleteAreaById(Long id)
    {
        return areaMapper.deleteAreaById(id);
    }
}
